Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Проблема при получении результата выполнения внешней программы (C001_UsEr)
Author Message
C001_UsEr
Заглянувший



Joined: 19 Sep 2006
Posts: 13
Карма: 1
   поощрить/наказать


PostPosted: Thu Jul 26, 2007 8:49 pm (написано за 4 минуты 28 секунд)
   Post subject: Проблема при получении результата выполнения внешней программы
Reply with quote

Значит суть проблемы такая...
Вызываю одну и ту же программу, но с разными параметрами, и в одном случае есть вывод, а в другом нет, хотя из командной строки (ssh) обе команды имеют результат, и его вывод.
Code (php): скопировать код в буфер обмена
$output = shell_exec (www.php.net/shell_exec)('/usr/local/bin/ffmpeg -h');
echo (www.php.net/echo) $output; //
$output = shell_exec (www.php.net/shell_exec)('/usr/local/bin/ffmpeg -version');
echo (www.php.net/echo) $output; //
 
Конфиг сервера такой...
FreeBSD 6.2 (RELEASE), Apache 1.3, PHP5 as CGI.
Надеюсь на помощь.
Back to top
View user's profile Send private message
dimagolov
Участник форума



Joined: 04 Feb 2007
Posts: 1664
Карма: 96
   поощрить/наказать

Location: Christ Church, Barbados

PostPosted: Thu Jul 26, 2007 11:57 pm (спустя 3 часа 8 минут; написано за 58 секунд)
   Post subject:
Reply with quote

подозреваю, что с разными ключами прога пишет один раз в stdout, а второй раз в терминал. других резонов сложно придумать.
Back to top
View user's profile Send private message
C001_UsEr
Заглянувший



Joined: 19 Sep 2006
Posts: 13
Карма: 1
   поощрить/наказать


PostPosted: Fri Jul 27, 2007 12:35 pm (спустя 12 часов 37 минут; написано за 16 секунд)
   Post subject:
Reply with quote

И как решить проблему? Перехватить вывод?
Back to top
View user's profile Send private message
Антон Макаренко
Участник форума



Joined: 05 Feb 2004
Posts: 374
Карма: 37
   поощрить/наказать

Location: Киев

PostPosted: Fri Jul 27, 2007 12:48 pm (спустя 12 минут; написано за 1 минуту 42 секунды)
   Post subject:
Reply with quote

Если версия dimagolov верна, то достаточно в обе команды добавить конструкцию, заставляющую их выводить результат в stdout.
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Fri Jul 27, 2007 2:00 pm (спустя 1 час 12 минут; написано за 1 минуту 4 секунды)
   Post subject:
Reply with quote

C001_UsEr
В своём файловом менеджере я использовал следующий код для выполнения любой команды и 100% его перехвата в stdout:
Code (php): скопировать код в буфер обмена
$command = '/usr/local/bin/ffmpeg -version';

exec (www.php.net/exec)('('.$command.') 2>&1', $out, $ret);

echo (www.php.net/echo) implode (www.php.net/implode)("<br>", $out);
Back to top
View user's profile Send private message Send e-mail
C001_UsEr
Заглянувший



Joined: 19 Sep 2006
Posts: 13
Карма: 1
   поощрить/наказать


PostPosted: Tue Jul 31, 2007 10:48 pm (спустя 4 дня 8 часов 47 минут; написано за 9 секунд)
   Post subject:
Reply with quote

Юpий Насрeтдинов, спасибо, помогло.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML